home *** CD-ROM | disk | FTP | other *** search
/ IRIS Performer 2.2 Friends Demo / SGI IRIS Performer 2.2 Friends Demo.iso / friends / medit / pfLoader / Makefile < prev    next >
Makefile  |  1997-11-20  |  7KB  |  199 lines

  1. #!smake -J 1
  2. #-------------------------------------------------------------------#
  3. #-- Makefile for libpfmedit -- the Medit file loader              --#
  4. #-------------------------------------------------------------------#
  5. #-- RCS version information                                       --#
  6. #--   $Revision: 1.18 $                                            --#
  7. #--   $Date: 1995/11/21 06:32:14 $                                --#
  8. #-------------------------------------------------------------------#
  9.  
  10. #-------------------------------------------------------------------#
  11. #-- The default make target makes optimized libraries.            --#
  12. #-- The other targets are:                                        --#
  13. #--    build debugging libraries: dbg (or debug)                  --#
  14. #--    build optimized libraries: opt (or optimize)               --#
  15. #--    build dynamic shared object libraries: dso                 --#
  16. #--    remove all unneeded files after a build: clean             --#
  17. #--    remove all machine generated files: clobber                --#
  18. #-------------------------------------------------------------------#
  19.  
  20. #--
  21. #--    definitions
  22. #--
  23.  
  24. #-- base name of library
  25. LIBRARY    = libpfmedit
  26.  
  27. #if !defined(PFSTYLE)
  28. PFSTYLE = 32
  29. #endif
  30. #if $(PFSTYLE) == "64"
  31. OBJECT_STYLE = 64
  32. LIBBITSUF=64
  33. PFRELEASE=N64
  34. #endif
  35. #if $(PFSTYLE) == "N32"
  36. OBJECT_STYLE = N32_M3
  37. LIBBITSUF=32
  38. PFRELEASE=N32
  39. #endif
  40. #if $(PFSTYLE) == "32"
  41. OBJECT_STYLE = 32
  42. LIBBITSUF=
  43. PFRELEASE=O32
  44. #endif
  45.  
  46. include $(ROOT)/usr/include/make/commondefs
  47.  
  48. #-- interface version pfdLoadFile uses to open loaders
  49. #-- (should be same as that of libpf_*.so and libpfdu_*.so)
  50. DSOVERSION = sgi2.0
  51.  
  52. DSOVERSIONOPT = -set_version $(DSOVERSION)
  53.  
  54. #-- object files from which target built {some are in the common directory}
  55. OBJECTS    = \
  56.     libmedit.o \
  57.     pfmedit.o 
  58.  
  59. #--
  60. #--    generic targets
  61. #--
  62.  
  63. #-- make optimized non-dso version of library by default
  64. default: igldso
  65.  
  66. #-- make all versions of library
  67. all: dbg opt dso ddso oglopt ogldso ogldbg oglddso
  68.  
  69. #-- clean up directories {remove junk}
  70. clean:
  71.     if test -d DBG.$(PFRELEASE).IRISGL; then cd DBG.$(PFRELEASE).IRISGL ; rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
  72.     if test -d DBG.$(PFRELEASE).OPENGL; then cd DBG.$(PFRELEASE).OPENGL ; rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
  73.     if test -d OPT.$(PFRELEASE).IRISGL; then cd OPT.$(PFRELEASE).IRISGL ; rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
  74.     if test -d OPT.$(PFRELEASE).OPENGL; then cd OPT.$(PFRELEASE).OPENGL ; rm -f ${OBJECTS} Makedepend core so_locations; cd .. ; fi
  75.     rm -f so_locations
  76.  
  77. #-- remove all machine-built files
  78. clobber: clean
  79.     if test -d DBG.$(PFRELEASE).IRISGL ; then rm -rf DBG.$(PFRELEASE).IRISGL ; fi
  80.     if test -d DBG.$(PFRELEASE).OPENGL ; then rm -rf DBG.$(PFRELEASE).OPENGL ; fi
  81.     if test -d OPT.$(PFRELEASE).IRISGL ; then rm -rf OPT.$(PFRELEASE).IRISGL ; fi
  82.     if test -d OPT.$(PFRELEASE).OPENGL ; then rm -rf OPT.$(PFRELEASE).OPENGL ; fi
  83.  
  84. #--
  85. #--    library targets
  86. #--
  87.  
  88. #-- make a debugging version of the library
  89. igldbg: .MAKE
  90.     @ echo "\nmaking IrisGL DBG version of ${LIBRARY}"
  91.     @ if test ! -d DBG.$(PFRELEASE).IRISGL ; then mkdir -p DBG.$(PFRELEASE).IRISGL ; fi
  92.     @ cd DBG.$(PFRELEASE).IRISGL ; ${MAKE} -f ../Makefile OPTIMIZER=-g LCDEFS=-DIRISGL LCXXDEFS=-DIRISGL \
  93.         ${LIBRARY}_igl.a
  94.  
  95. ogldbg: .MAKE
  96.     @ echo "\nmaking OpenGL DBG version of ${LIBRARY}"
  97.     @ if test ! -d DBG.$(PFRELEASE).OPENGL ; then mkdir -p DBG.$(PFRELEASE).OPENGL ; fi
  98.     @ cd DBG.$(PFRELEASE).OPENGL ; ${MAKE} -f ../Makefile OPTIMIZER=-g \
  99.         ${LIBRARY}_ogl.a
  100.  
  101. #-- make an optimized version of the library
  102. iglopt: .MAKE
  103.     @ echo "making IrisGL OPT version of ${LIBRARY}"
  104.     @ if test ! -d OPT.$(PFRELEASE).IRISGL ; then mkdir -p OPT.$(PFRELEASE).IRISGL ; fi
  105.     @ cd OPT.$(PFRELEASE).IRISGL ; ${MAKE} -f ../Makefile OPTIMIZER="-O -Olimit 2000" LCDEFS=-DIRISGL LCXXDEFS=-DIRISGL \
  106.         ${LIBRARY}_igl.a
  107.  
  108. oglopt: .MAKE
  109.     @ echo "making OpenGL OPT version of ${LIBRARY}"
  110.     @ if test ! -d OPT.$(PFRELEASE).OPENGL ; then mkdir -p OPT.$(PFRELEASE).OPENGL ; fi
  111.     @ cd OPT.$(PFRELEASE).OPENGL ; ${MAKE} -f ../Makefile OPTIMIZER="-O -Olimit 2000" \
  112.         ${LIBRARY}_ogl.a
  113.  
  114. #-- make an optimized version of the library that uses DSOs
  115. igldso: .MAKE
  116.     @ echo "making IrisGL DSO version of ${LIBRARY}"
  117.     @ if test ! -d OPT.$(PFRELEASE).IRISGL ; then mkdir -p OPT.$(PFRELEASE).IRISGL ; fi
  118.     @ cd OPT.$(PFRELEASE).IRISGL ; ${MAKE} -f ../Makefile OPTIMIZER="-O -Olimit 2000" LCDEFS=-DIRISGL LCXXDEFS=-DIRISGL \
  119.     ${LIBRARY}_igl.so
  120.     @ echo "${LIBRARY}_igl.so done"
  121.  
  122. ogldso: .MAKE
  123.     @ echo "making OpenGL DSO version of ${LIBRARY}"
  124.     @ if test ! -d OPT.$(PFRELEASE).OPENGL ; then mkdir -p OPT.$(PFRELEASE).OPENGL ; fi
  125.     @ cd OPT.$(PFRELEASE).OPENGL ; ${MAKE} -f ../Makefile OPTIMIZER="-O -Olimit 2000" \
  126.     ${LIBRARY}_ogl.so 
  127.     @ echo "${LIBRARY}_ogl.so done"
  128.  
  129. #-- make an debugging version of the library that uses DSOs
  130. iglddso: .MAKE
  131.     @ echo "making IrisGL DDSO version of ${LIBRARY}"
  132.     @ if test ! -d DBG.$(PFRELEASE).IRISGL ; then mkdir -p DBG.$(PFRELEASE).IRISGL ; fi
  133.     @ cd DBG.$(PFRELEASE).IRISGL ; ${MAKE} -f ../Makefile OPTIMIZER=-g LCDEFS=-DIRISGL LCXXDEFS=-DIRISGL \
  134.     ${LIBRARY}_igl.so 
  135.     @ echo "${LIBRARY}_igl.so done"
  136.  
  137. oglddso: .MAKE
  138.     @ echo "making OpenGL DDSO version of ${LIBRARY}"
  139.     @ if test ! -d DBG.$(PFRELEASE).OPENGL ; then mkdir -p DBG.$(PFRELEASE).OPENGL ; fi
  140.     @ cd DBG.$(PFRELEASE).OPENGL ; ${MAKE} -f ../Makefile OPTIMIZER=-g \
  141.     ${LIBRARY}_ogl.so 
  142.     @ echo "${LIBRARY}_ogl.so done"
  143.  
  144. dso:    igldso
  145. opt:    iglopt
  146. ddso:    iglddso
  147. dbg:    igldbg
  148.  
  149. #--
  150. #--    internal targets
  151. #--
  152.  
  153. ${LIBRARY}_igl.a: ${OBJECTS}
  154.     ar crv $@ $?
  155.  
  156. ${LIBRARY}_ogl.a: ${OBJECTS}
  157.     ar crv $@ $?
  158.  
  159. ${LIBRARY}_igl.so: ${OBJECTS}
  160.     ld  -shared -all -check_registry $(DSOREGFILE) $(DSOVERSIONOPT) \
  161.     $(OBJECTS) -o $@
  162.  
  163. ${LIBRARY}_ogl.so: ${OBJECTS}
  164.     ld  -shared -all -check_registry $(DSOREGFILE) $(DSOVERSIONOPT) \
  165.     $(OBJECTS) -o $@
  166.  
  167. #-- look for sources in this directory
  168. .PATH: ..
  169.  
  170.  
  171. #-----------------------------------------------------------------------------
  172. # Special Medit libraries
  173. #-----------------------------------------------------------------------------
  174.  
  175. # 1) library to read/write Medit files
  176.  
  177. MTEMPDIR = MEDIT.TMP.DIR
  178. libmedit:
  179.     @ echo "making libMedit.a"
  180.     @ if test ! -d ${MTEMPDIR} ; then mkdir ${MTEMPDIR} ; fi
  181.     @ cd ${MTEMPDIR} ; make -f ../Makefile buildlibmedit ; cd .. ; rm -rf ${MTEMPDIR}
  182.     @ echo "Finished..."
  183.  
  184. buildlibmedit: libmedit.o
  185.     @ ar crv ../libMedit.a libmedit.o
  186.  
  187. # 2) library to write performer data to a medit file
  188.  
  189. libpfsavemedit:
  190.     @ echo "making libpfSaveMedit.a"
  191.     @ if test ! -d ${MTEMPDIR} ; then mkdir ${MTEMPDIR} ; fi
  192.     @ cd ${MTEMPDIR} ; make -f ../Makefile buildmeditsaver ; cd .. ; rm -rf ${MTEMPDIR}
  193.     @ echo "Finished..."
  194.  
  195. buildmeditsaver: libmedit.o pfSaveMedit.o
  196.     @ ar crv ../libpfSaveMedit.a libmedit.o pfSaveMedit.o
  197.  
  198.  
  199.